{{ t('title') }}
{{ t('subtitle') }}
{{ t('noStrategySelected') }}
{{ t('loading') }}
{{ t('accountType') }}
{{ t('typeEvaluation') }}
{{ t('typeFunded') }}
{{ t('accountSize') }}
${{ formatK(acc.size) }}
{{ accountType === 'evaluation' ? '+$' + formatK(acc.target) : 'MLL $' + formatK(acc.mll) }}
{{ t('sizeMultiplier') }}
{{ t('portfolioNotice') }}
{{ tInterp('lowSampleWarning', { days: dailyRows.length, trades: orderCount }) }}
{{ verdictLabel }}
{{ verdictDetail }}
{{ t('kpiNetProfit') }}
{{ signMoney(netProfit) }}
{{ t('kpiDaysToTarget') }}
{{ verdict.targetDay != null ? verdict.targetDay : '—' }}
{{ t('kpiConsistency') }}
{{ formatPct(consistencyPct) }}%
{{ t('kpiMllHeadroom') }}
{{ signMoney(minMllHeadroom) }}
{{ t('kpiPayout') }}
{{ formatMoney(Math.max(0, netProfit) * 0.9) }}
{{ t('kpiBreachedRule') }}
{{ breachedRuleLabel }}
{{ accountType === 'evaluation' ? t('rulesHeaderEval') : t('rulesHeaderFunded') }}
{{ t('ruleProfitTarget') }}
{{ signMoney(bestProfit) }}
{{ tInterp('ruleProfitTargetDesc', { target: formatMoney(account.target) }) }}
{{ ruleIcon(rulesStatus.profitTarget) }}
{{ t('ruleMaxLoss') }}
{{ signMoney(minMllHeadroom) }}
{{ tInterp('ruleMaxLossDesc', { mll: formatMoney(account.mll) }) }}
{{ ruleIcon(rulesStatus.maxLoss) }}
{{ t('ruleConsistency') }}
{{ formatPct(consistencyPct) }}%
{{ t('ruleConsistencyDesc') }}
{{ ruleIcon(rulesStatus.consistency) }}
{{ t('ruleMaxSize') }}
{{ maxContracts }}
{{ tInterp('ruleMaxSizeDesc', { mini: account.maxMini, micro: account.maxMicro }) }}
{{ ruleIcon(rulesStatus.maxSize) }}
{{ t('ruleNoDll') }}
∞
{{ t('ruleNoDllDesc') }}
{{ t('chartEquityTitle') }}
{{ t('chartLegendEquity') }}
{{ t('chartLegendMll') }}
{{ t('chartLegendTarget') }}
{{ t('chartLegendLow') }}
{{ t('chartDailyTitle') }}
{{ t('chartDDTitle') }}
{{ t('chartDDFloor') }}
{{ t('consistencyTitle') }}
{{ tInterp('consistencySummary', { pct: formatPct(consistencyPct), best: formatMoney(bestDayProfit), total: formatMoney(consistencyBase) }) }}
0%
{{ t('consistencyLimitLabel') }}
100%
{{ t('monteCarloHeader') }}
{{ t('monteCarloIterations') }}:
{{ mcRunning ? t('monteCarloRunning') : 'Run' }}
{{ tInterp('monteCarloDesc', { n: mcIterations }) }}
{{ tInterp('monteCarloInsufficientHistory', { days: dailyRows.length }) }}
{{ formatPct(mcResults.passPct) }}%
{{ t('monteCarloPassProb') }}
{{ t('monteCarloFailBreakdown') }}
{{ t('monteCarloFailMax') }}
{{ formatPct(mcResults.maxPct) }}%
{{ t('monteCarloFailTarget') }}
{{ formatPct(mcResults.targetPct) }}%
{{ t('monteCarloFailConsistency') }}
{{ formatPct(mcResults.consistencyPct) }}%
{{ t('monteCarloDaysHist') }}